home *** CD-ROM | disk | FTP | other *** search
/ Aminet 15 / Aminet 15 - Nov 1996.iso / Aminet / dev / misc / libx11inc.lha / X11 / Xm / DisplayP.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-02-13  |  3.9 KB  |  147 lines

  1. /* 
  2.  * (c) Copyright 1989, 1990, 1991, 1992 OPEN SOFTWARE FOUNDATION, INC.
  3.  * ALL RIGHTS RESERVED
  4. */ 
  5. /*   $RCSfile: DisplayP.h,v $ $Revision: 1.24 $ $Date: 92/07/21 14:09:12 $ */
  6. /*
  7. *  (c) Copyright 1989, 1990  DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. */
  8. /*
  9. *  (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
  10. /*
  11. *  (c) Copyright 1988 MASSACHUSETTS INSTITUTE OF TECHNOLOGY  */
  12. /*
  13. *  (c) Copyright 1988 MICROSOFT CORPORATION */
  14. #ifndef _XmDisplayP_h
  15. #define _XmDisplayP_h
  16.  
  17. #include <Xm/DesktopP.h>
  18. #include <Xm/VendorSEP.h>
  19. #include <Xm/DropSMgr.h>
  20. #include <Xm/Display.h>
  21. #include <Xm/ScreenP.h>
  22.  
  23. /* A little incest */
  24. #include <Xm/DragCP.h>
  25. #include <Xm/VirtKeysP.h>
  26.  
  27. #ifdef __cplusplus
  28. extern "C" {
  29. #endif
  30.  
  31. #ifdef _NO_PROTO
  32. typedef Widget (*XmDisplayGetDisplayProc)();
  33. #else
  34. typedef Widget (*XmDisplayGetDisplayProc)
  35.     (Display *);
  36. #endif
  37.  
  38.  
  39. typedef struct {
  40.     XmDisplayGetDisplayProc GetDisplay;
  41.     XtPointer               extension;
  42. } XmDisplayClassPart;
  43.  
  44. /* 
  45.  * we make it a appShell subclass so it can have it's own instance
  46.  * hierarchy
  47.  */
  48. typedef struct _XmDisplayClassRec{
  49.     CoreClassPart              core_class;
  50.     CompositeClassPart         composite_class;
  51.     ShellClassPart          shell_class;
  52.     WMShellClassPart           wm_shell_class;
  53.     VendorShellClassPart     vendor_shell_class;
  54.     TopLevelShellClassPart     top_level_shell_class;
  55.     ApplicationShellClassPart     application_shell_class;
  56.     XmDisplayClassPart        display_class;
  57. }XmDisplayClassRec;
  58.  
  59. typedef struct _XmModalDataRec{
  60.     Widget                      wid;
  61.     XmVendorShellExtObject    ve;
  62.     XmVendorShellExtObject    grabber;
  63.     Boolean            exclusive;
  64.     Boolean            springLoaded;
  65. }XmModalDataRec, *XmModalData;
  66.  
  67. typedef struct {
  68.     unsigned char        dragInitiatorProtocolStyle;
  69.     unsigned char        dragReceiverProtocolStyle;
  70.  
  71.     unsigned char        userGrabbed; /* flag for menu vs dnd */
  72.  
  73.     WidgetClass            dragContextClass;
  74.     WidgetClass            dropTransferClass;
  75.     WidgetClass            dropSiteManagerClass;
  76.     XmDragContext        activeDC;
  77.     XmDropSiteManagerObject    dsm;
  78.     Time            lastDragTime;
  79.     Window            proxyWindow;
  80.  
  81.     XmModalData            modals;
  82.     Cardinal            numModals;
  83.     Cardinal            maxModals;
  84.     XtPointer            xmim_info;
  85.  
  86.     String            bindingsString;
  87.     XmKeyBindingRec        *bindings;
  88.     XKeyEvent            *lastKeyEvent;
  89.     unsigned char        keycode_tag[XmKEYCODE_TAG_SIZE];
  90.  
  91.     int                shellCount;
  92.     XtPointer            displayInfo;
  93. } XmDisplayPart, *XmDisplayPartPtr;
  94.  
  95. typedef struct _XmDisplayRec{
  96.     CorePart         core;
  97.     CompositePart     composite;
  98.     ShellPart         shell;
  99.     WMShellPart        wm;
  100.     VendorShellPart    vendor;
  101.     TopLevelShellPart     topLevel;
  102.     ApplicationShellPart application;
  103.     XmDisplayPart    display;
  104. }XmDisplayRec;
  105.  
  106. extern XmDisplayClassRec     xmDisplayClassRec;
  107.  
  108. extern String _Xm_MOTIF_DRAG_AND_DROP_MESSAGE ;
  109.  
  110.  
  111. /********    Private Function Declarations    ********/
  112. #ifdef _NO_PROTO
  113.  
  114. extern XmDropSiteManagerObject _XmGetDropSiteManagerObject() ;
  115. extern unsigned char _XmGetDragProtocolStyle() ;
  116. extern unsigned char _XmGetDragTrackingMode() ;
  117. extern Widget _XmGetDragContextFromHandle() ;
  118. extern WidgetClass _XmGetXmDisplayClass() ;
  119. extern WidgetClass _XmSetXmDisplayClass() ;
  120.  
  121. #else
  122.  
  123. extern XmDropSiteManagerObject _XmGetDropSiteManagerObject( 
  124.                         XmDisplay xmDisplay) ;
  125. extern unsigned char _XmGetDragProtocolStyle( 
  126.                         Widget w) ;
  127. extern unsigned char _XmGetDragTrackingMode( 
  128.                         Widget w) ;
  129. extern Widget _XmGetDragContextFromHandle( 
  130.                         Widget w,
  131.                         Atom iccHandle) ;
  132. extern WidgetClass _XmGetXmDisplayClass( void ) ;
  133. extern WidgetClass _XmSetXmDisplayClass( 
  134.                         WidgetClass wc) ;
  135.  
  136. #endif /* _NO_PROTO */
  137. /********    End Private Function Declarations    ********/
  138.  
  139.  
  140. #ifdef __cplusplus
  141. }  /* Close scope of 'extern "C"' declaration which encloses file. */
  142. #endif
  143.  
  144. #endif /* _XmDisplayP_h */
  145. /* DON'T ADD STUFF AFTER THIS #endif */
  146.  
  147.